<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- 引入主题样式 -->
<link href="${pageContext.request.contextPath}/themes/bootstrap/easyui.css" rel="stylesheet">
<!-- 引入图表样式 -->
<link href="${pageContext.request.contextPath}/themes/icon.css" rel="stylesheet">
<!-- 引入jquery -->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.9.1.js"></script>
<!-- 引入easyui.js -->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.easyui.min.js"></script>
<!-- 引入easyui本地语言js -->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/easyui-lang-zh_CN.js"></script>
<title>管理员管理</title>
<script type="text/javascript">
	//jQuery
	$(function(){
		//年龄的限制
		$("#aage").blur( function () 
				{ 
			        var aage = $('#aage').val();
			        if(!/^(?:[1-9][0-9]?|1[01][0-9]|120)$/.test(aage)){
			        	alert('年龄必须是整数,且范围在1-120之间');
					return false;
					}
			        
				});
		//去掉所有文本框中的空格
		$('.submitbtn').click(function(){
			$('input').each(function(){
				
				var val=this.value;
				val=$.trim(val);
				this.value=val;
				
			})
		})
		//增加表单中的文本框不能为空
		$('#addbtn').click(function(){

			$('.add').each(function(){
				var txt=$(this).prev('label').text();
				if(this.value==""){
					alert(txt+'不能为空');
				}
			})
			
		})
		//修改表单中的文本框不能为空
		$('#updatebtn').click(function(){
			$('.update').each(function(){
				var txt=$(this).prev('label').text();
				if(this.value==""){
					alert(txt+'不能为空');
				}
			})
		})
		
		//生成管理员表格
		$('#adminstable').datagrid({
			//分页
			pagination:true,
			//斑马线
			striped:true,
			//行号列
			rownumbers:true,
			//请求
		    url:'${pageContext.request.contextPath}/findadmins',    
		    columns:[[ {field : 'checked',	checkbox : true,width : 100,resizable:false,},
		        {field:'aid',title:'管理员编号',width:100,hidden:true,resizable:false,},    
		        {field:'aname',title:'管理员姓名',width:150,resizable:false,}, 
		        {field:'apsw',title:'管理员密码',width:150,resizable:false,
		        	formatter: function(value,row,index){
							if (row.fpath==""){
								return value;
							} else {
								//密码不予显示
								return "**************";
		        		}
		        	}
		        	},
		        {field:'asex',title:'性别',width:100,resizable:false,
		        	formatter: function(value,row,index){
						if (row.asex==1){
							//把0，1对应显示女，男
							return "男";
						} else {
							return "女";
						}
					}

		        	},  
		        {field:'aage',title:'年龄',width:100,resizable:false,}, 
		        {field:'adep',title:'部门',width:200,resizable:false,
		        	formatter: function(value,row,index){
						if (row.adep=="超级管理员"){
							//如果超管则显示为红色
							return '<a style="color:red">'+value+'</a>';
						} else {
							return value;
						}
		        	}
		        },
		        {field:'asalary',title:'工资(￥)',width:140,resizable:false,},
		    ]],

		    //顶部按钮
			toolbar: [{
				iconCls: 'icon-add',
				text:'新增',
				handler: function(){
					$("option").remove(".italic");
					//ajax发送查询部门的请求
					$.ajax({
						type:'post',
						url:'${pageContext.request.contextPath}/findcurrdep',
						dataType:'json',
						success:function(result){
							jQuery.each(result,function(key,value){								
							    	$("#deplist1").append('<option class="italic" value='+ value.dep.dname + '>' + value.dep.dname+ '</option>');
			               }) 
						}
					})
					//显示增加窗口
					$('#addwin').window('open');
		        	//鼠标移出判断管理员名是否存在，是否符合规范
		        	$("#aaccount").blur(function(){
		    			//定义 JS 中的正则表达式。直接使用即可。 
		    			//用户名不能包含特殊字符, 即以字母开头, 结尾
		    			var reg = /^[a-zA-Z]\w+\w$/g;		    			
		    			var val = $("input[name='aname']").val();		    			
		    			//使用正则进行验证
		    			if(!reg.test(val)){
		    				alert("用户名不能包含特殊字符, 即以字母开头, 结尾!");
		    			}
		    			if(val.length>10){
							alert("登录名不能大于10位");
							return false;					
						}
						var aname=$("#aaccount").val();
						//ajax判断管理员名是否存在
						$.ajax({
							type:'post',
							url:'${pageContext.request.contextPath}/findaname',
							data:{"aname":aname},
							dataType:'text',
							success:function(result){
								if(result=="1"){
									$.messager.alert('警告','该管理员名已存在');
								}
							}
						})
					})
					
					//密码限制
					$("#psw").blur( function () 
							{ 
						        var apsw = $('#psw').val();
						        if(apsw.length>20){
									alert("密码不能大于20位");
									return false;					
								}
							});

					}
			},'-',{
				iconCls: 'icon-remove',
				text:'删除',
				handler: function(){
					//获取选中行
					var selRow=$('#adminstable').datagrid('getSelections');
					if(selRow.length>0){
						$.messager.confirm("确认消息", "确定要删除所选记录吗？", function (isDelete) {  							  
					        //如果为真的话  
					        if (isDelete) {  
					            //定义变量值  
					            var strIds = "";  
					            //拼接字符串，这里也可以使用数组，作用一样  
					            for (var i = 0; i < selRow.length; i++) {  
					                strIds += selRow[i].aid + ",";  
					            }  
					          //提交  
				                $.ajax({  
				                    type: "POST",   
				                    url: "${pageContext.request.contextPath}/deladmins",  
				                    data: {"strIds":strIds},  
				                    datatype:"text",
				                    success: function (result) {  
				                        if (result=="1") {  
				                            $('#adminstable').datagrid('clearSelections');  
				                            $.messager.alert("提示", "恭喜您，信息删除成功！", "info");  
				                            $('#adminstable').datagrid('reload');  
				                        } else {  
				                            $.messager.alert("提示", "删除失败，请重新操作！", "info");  
				                            return;  
				                        }  
				                    }  
				                });  
					        }  
					    });  
					}else{
						$.messager.alert('提示','请至少选择一个管理员进行操作'); 
					} 
				}
			},'-',{
				iconCls: 'icon-edit',
				text:'修改',
				handler: function(){
					//获取选中行
					var selRow=$('#adminstable').datagrid('getSelections');
					if (selRow.length != 1) {
						$.messager.confirm('提示', '请选择一条数据', function(r) {
							if (r) {
								$("#adminstable").datagrid('unselectAll');
							}
						})
					} else {
						$("option").remove(".italic");
						//ajax发送查询部门的请求
						$.ajax({
							type:'post',
							url:'${pageContext.request.contextPath}/findcurrdep',
							dataType:'json',
							success:function(result){
								jQuery.each(result,function(key,value){								
									$("#deplist2").append('<option class="italic" value='+ value.dep.dname + '>' + value.dep.dname+ '</option>');
				               }) 
							}
						})
						//打开修改窗口
						$('#updatewin').window('open');
						var admin = selRow[0];
						//将选中行数据加载进表单中
						 $('#updateform').form('load',admin);

					}
				}
			}]

		});
		//默认增加,更新窗口是关闭的
		$('#addwin').window('close');
		$('#updatewin').window('close');
		//配置增加表单提交事件
		$('#addform').form({    
		    url:'${pageContext.request.contextPath}/addadmin',   
		    success:function(data){    
		        if(data=="1"){
		        	$.messager.alert('提示','增加成功'); 
		        	$('#adminstable').datagrid('reload');
		        	$('#addwin').window('close');
		        	$("#addform").form('clear');
		        }else{
		        	$.messager.alert('提示','增加失败');
		        }   
		    }    
		});
		//配置修改表单提交事件
		$('#updateform').form({    
		    url:'${pageContext.request.contextPath}/updateadmin',   
		    success:function(data){    
		        if(data=="true"){
		        	$.messager.alert('提示','修改成功'); 
		        	$('#adminstable').datagrid('reload');
		        	$('#updatewin').window('close');
		        	$("#updateform").form('clear');
		        }else{
		        	$.messager.alert('提示','修改失败');
		        }   
		    }    
		});
		//搜索框
		$('#searchadmin').searchbox({
			searcher:function(value,name){ 
				var searchadminname=value;
				$('#adminstable').datagrid('reload', {
					searchname : searchadminname
				});
			}
		});
		 //设置分页控件 
	    var p = $('#adminstable').datagrid('getPager'); 
	    $(p).pagination({ 
	        pageList: [5,10,15],//可以设置每页记录条数的列表 
/* 	        beforePageText: '第',//页数文本框前显示的汉字 
	        afterPageText: '页    共 {pages} 页', 
	        displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录',  */
	        /*onBeforeRefresh:function(){
	            $(this).pagination('loading');
	            alert('before refresh');
	            $(this).pagination('loaded');
	        }*/ 
	    });  
	});
	//js
	//配置增加表单提交事件
	function addadmin() {
		$("#addform").form('submit');
	}
	//配置修改表单提交事件
	function updateadmin(){
		$("#updateform").form('submit');
	}
	//配置增加表单取消事件
	function quitadd(){
		$('#addwin').dialog('close');
		$('#updatewin').dialog('close');

	}

</script>
</head>
<body style="background:url(../images/44.jpg);width: 100%; height: 100%">
<!-- 查询框 -->
<input id="searchadmin" class="easyui-searchbox"	data-options="prompt:'输入姓名查询信息',width:250">
<!-- 管理员表格 -->
<table id="adminstable""></table> 
<!-- 增加窗体 -->
<div id="addwin" class="easyui-window" style="width:600px;height:400px;text-align: center;" title="增加新管理员" data-options="shadow:true,modal:true,resizable:false,draggable:false,maximizable:false, minimizable:false,">
		<form id="addform" method="post">   
	    <div style="display: none">      
	        <input class="easyui-textbox" name="aid" style="width:300px;"> 
	    </div>   
	    <div style="margin: 20px">   
	        <label>员工姓名</label>   
	        <input class="add easyui-validatebox" id="aaccount"  name="aname" style="width:300px" > 
	    </div>
	    <div style="margin: 20px">   
	        <label>密码</label>   
	        <input class="add easyui-validatebox" id="psw" type="password" name="apsw" style="width:300px" >
	    </div>
	    <div style="margin: 20px">   
	       <label>员工性别</label>   
	         <select id="sexsel" class="easyui-combobox" name="asex" style="width:300px;" data-options="editable:false">  
			    <option value=1>男</option> 
			    <option value=0>女</option>     
			 </select>
	    </div>
	    <div style="margin: 20px">   
	        <label>员工年龄</label>   
	        <input class="add easyui-validatebox"  name="aage" style="width:300px" id="aage"> 
	    </div>
	    <div style="margin: 20px" >
	    	<label>员工部门</label>
	    	 <select  name="adep" style="width:300px;" id="deplist1">    
			 </select>	    	
	    </div>
	    <div style="margin: 20px">   
	        <label>员工工资</label>   
	        <input class="add easyui-validatebox"  name="asalary" style="width:300px" id="asalary"> 
	    </div>
	    </form>
	    <a id="addbtn" href="javascript:void(0)" class="submitbtn easyui-linkbutton" data-options="iconCls:'icon-add'" onclick="addadmin()" style="margin: 5px">增加</a>
	    <a id="quit1btn" href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" onclick="quitadd()" style="margin: 5px">取消</a>       
</div> 
<!-- 修改窗体 -->
<div id="updatewin" class="easyui-window" style="width:600px;height:400px;text-align: center;" title="修改新管理员" data-options="shadow:true,modal:true,resizable:false,draggable:false,maximizable:false, minimizable:false,">
		<form id="updateform" method="post">   
	    <div style="display: none">      
	        <input class="easyui-textbox" name="aid" style="width:300px;" > 
	    </div>   
	    <div style="margin: 20px">   
	        <label>员工姓名</label>   
	        <input class="update easyui-textbox" name="aname" style="width:300px" data-options="readonly:true,"> 
	    </div>
	    <div style="margin: 20px">   
	        <label>密码</label>   
	        <input class="update easyui-textbox" type="password" name="apsw" style="width:300px" data-options="readonly:true," id="apsw">
	    </div>
	    <div style="margin: 20px" >   
	        <label>员工性别</label>   
			 <select id="sexsel" class="noemply easyui-combobox" name="asex" style="width:300px;" data-options="readonly:true,">  
			    <option value=1>男</option> 
			    <option value=0>女</option>     
			 </select>
	    </div>
	    <div style="margin: 20px">   
	        <label>员工年龄</label>   
	        <input class="update easyui-textbox"  name="aage" style="width:300px" data-options="readonly:true,"> 
	    </div>
	    <div style="margin: 20px" >
	    	<label>员工部门</label> 
	    	 <select id="deplist2" name="adep" style="width:300px;">      
			 </select>
	    </div>
	    <div style="margin: 20px" style="display: none">   
	        <label>员工工资</label>   
	        <input class="update easyui-textbox"  name="asalary" style="width:300px"> 
	    </div>
	    </form>
	    <a id="updatebtn" href="javascript:void(0)" class="submitbtn easyui-linkbutton" data-options="iconCls:'icon-add'" onclick="updateadmin()" style="margin: 5px">更新</a>
	    <a id="quit1btn" href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" onclick="quitadd()" style="margin: 5px">取消</a>       
</div> 

</body>
</html>